package com.yuexin.project.statistic.book.domain;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yuexin.framework.aspectj.lang.annotation.Excel;
import com.yuexin.project.statistic.bookDish.domain.BookDish;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 报餐明细表 sta_book
 * 
 * @author yuexin
 * @date 2018-10-14
 */
public class StatsBook implements Serializable {

	@ApiModelProperty("报餐ID")
	@Excel(name = "报餐编号")
	private Integer bookId;

	@ApiModelProperty("用户名")
	@Excel(name = "姓名")
	private String userName;

	@DateTimeFormat(pattern="yyyy-MM-dd")
	@JSONField(format="yyyy-MM-dd")
	@ApiModelProperty("就餐日期")
	private Date eatDate;

	@Excel(name = "就餐日期")
	private String eatDateExcel;

	@ApiModelProperty("餐别")
	@Excel(name = "餐别")
	private String dinnerType;

	@ApiModelProperty("报餐数量")
	@Excel(name = "报餐数量")
	private Integer bookNum;

	@ApiModelProperty("报餐类型0自食1客餐")
	@Excel(name = "报餐类别")
	private String bookType;

	@ApiModelProperty("是否签到0未签1已签")
	@Excel(name = "是否签到")
	private String signIn;

	@ApiModelProperty("签到时间")
	private Date signTime;

	@Excel(name = "签到时间")
	private String signTimeExcel;

	@ApiModelProperty("是否就餐0未就餐1已就餐")
	@Excel(name = "是否就餐")
	private String isEat;

	@ApiModelProperty("菜品明细")
	@Excel(name = "菜品明细")
	private String dishes;

	@ApiModelProperty("单价")
	@Excel(name = "单价")
	private BigDecimal price;

	@ApiModelProperty("报餐总额")
	@Excel(name = "金额")
	private BigDecimal totalPrice;

	@ApiModelProperty("备注")
	@Excel(name = "备注")
	private String remark;

	@ApiModelProperty("报餐方式（0：不选菜品，1：选择菜品）")
	private String types;

	@ApiModelProperty("菜品明细")
	private List<EatBookDish> bookDishes;

	public String getEatDateExcel() {
		return eatDateExcel;
	}

	public void setEatDateExcel(String eatDateExcel) {
		this.eatDateExcel = eatDateExcel;
	}

	public String getSignTimeExcel() {
		return signTimeExcel;
	}

	public void setSignTimeExcel(String signTimeExcel) {
		this.signTimeExcel = signTimeExcel;
	}

	public String getTypes() {
		return types;
	}

	public void setTypes(String types) {
		this.types = types;
	}

	public BigDecimal getPrice() {
		return price;
	}

	public void setPrice(BigDecimal price) {
		this.price = price;
	}

	public Integer getBookId() {
		return bookId;
	}

	public void setBookId(Integer bookId) {
		this.bookId = bookId;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public Date getEatDate() {
		return eatDate;
	}

	public void setEatDate(Date eatDate) {
		this.eatDate = eatDate;
	}

	public String getDinnerType() {
		return dinnerType;
	}

	public void setDinnerType(String dinnerType) {
		this.dinnerType = dinnerType;
	}

	public Integer getBookNum() {
		return bookNum;
	}

	public void setBookNum(Integer bookNum) {
		this.bookNum = bookNum;
	}

	public BigDecimal getTotalPrice() {
		return totalPrice;
	}

	public void setTotalPrice(BigDecimal totalPrice) {
		this.totalPrice = totalPrice;
	}

	public String getBookType() {
		return bookType;
	}

	public void setBookType(String bookType) {
		this.bookType = bookType;
	}

	public String getSignIn() {
		return signIn;
	}

	public void setSignIn(String signIn) {
		this.signIn = signIn;
	}

	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
	public Date getSignTime() {
		return signTime;
	}

	public void setSignTime(Date signTime) {
		this.signTime = signTime;
	}

	public String getIsEat() {
		return isEat;
	}

	public void setIsEat(String isEat) {
		this.isEat = isEat;
	}

	public String getDishes() {
		return dishes;
	}

	public void setDishes(String dishes) {
		this.dishes = dishes;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public List<EatBookDish> getBookDishes() {
		return bookDishes;
	}

	public void setBookDishes(List<EatBookDish> bookDishes) {
		this.bookDishes = bookDishes;
	}
}
